package org.apache.database.infs;

import org.apache.database.dao.Condition;

import java.io.Serializable;
import java.util.List;

public interface QueryInterface {
    /**
     * 更具ID查找
     *
     *
     * @param tClass
     * @param <T>
     * @return
     */
  public   <T> T findOneById(Class<T> tClass, Serializable value);

    /**
     * 分页查找或者全部
     * @param tClass
     * @param offset
     * @param page
     * @param <T>
     * @return
     */
    public  <T> List<T> findAll(Class<T> tClass, int offset, int page);
    public  <T> List<T> findAll(Class<T> tClass);

    /**
     * 自定义条件查找
     * @param tClass
     * @param condition
     * @param <T>
     * @return
     */
    public <T> List<T> findAll(Class<T> tClass, Condition condition);


    /**
     * 获取总数
     * @param tClass
     * @return
     */
    public  int getCount(Class<?> tClass);

}
